package mxmf.entity.content;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;

import chances.smart.commons.jpa.annotation.DTOAttribute;

/**
 * 所有内容的基类.
 * 
 * @author <a href="mailto:zhangxb@chances.com.cn">zhangxb</a>
 *
 */
@MappedSuperclass
public class VideoContent extends BaseContent {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    //    @Column(name = "increase_id", length = 20)
    //    private Long increaseId;//自增长id 原数据从老平台的id迁移

    @Column(name = "STUDIO", length = 128)
    protected String studio;// 发行商

    @Column(name = "WEEK_PVS", columnDefinition = "text")
    protected String weekPVs;// 一周点击量趋势

    @Column(name = "PIC_COUNT", length = 2)
    protected Integer picCount;// 图片个数

    @Column(name = "VIDEO_COUNT", length = 4)
    protected Integer videoCount;// 视频个数

    @Column(name = "CSP_CODE", length = 16)
    @DTOAttribute
    protected String cspCode;

    @Column(name = "LSP_CODE", length = 32)
    @DTOAttribute
    protected String lspCode;

    @Column(name = "GENRE", length = 32)
    @DTOAttribute
    protected String genre;// 类型 科幻，喜剧.

    @Column(name = "FOLDERS", length = 32)
    @DTOAttribute
    protected String folders;//

    @Column(name = "TAGS", length = 64)
    @DTOAttribute
    protected String tags;

    @Column(name = "COLLECT_ID", length = 16)
    @DTOAttribute
    protected String collectId;

    @Column(name = "level", length = 16)
    @DTOAttribute
    protected String level;

    @Column(name = "ACTORS")
    @DTOAttribute
    protected String actors;

    @Column(name = "DIRECTORS")
    @DTOAttribute
    protected String directors;

    @Column(name = "WRITERS")
    @DTOAttribute
    protected String writers;

    @Column(name = "COMPERES")
    @DTOAttribute
    protected String comperes;

    @Column(name = "PRODUCERS")
    @DTOAttribute
    protected String producers;

    @Column(name = "PLAY_DATE")
    @DTOAttribute
    protected Date playDate;// 播出时间

    @Column(name = "LANGUAGE")
    @DTOAttribute
    protected String language;

    @Column(name = "VOD_CAPTION")
    @DTOAttribute
    protected String vodCaption;

    @Column(name = "DURATION")
    @DTOAttribute
    protected Integer duration;// 单位:秒

    @Column(name = "AWARDS")
    @DTOAttribute
    protected String awards;

    @Column(name = "image", length = 128)
    @DTOAttribute
    protected String image;

    @Column(name = "PLAY_CHANNEL")
    @DTOAttribute
    protected String playChannel;

    @Column(name = "OFFERING_ID")
    @DTOAttribute
    protected Long offeringId;

    @Deprecated
    @Column(name = "SEARCH_NAME")
    @DTOAttribute
    protected String searchName;

    @Column(name = "TITLE_TYPE")
    @DTOAttribute
    protected String titleType;

    @Column(name = "PROVIDER_ID")
    protected Long providerId;

    @Column(name = "OPIMG1")
    @DTOAttribute
    protected String opimg1;

    @Column(name = "OPIMG2")
    @DTOAttribute
    protected String opimg2;

    @Column(name = "PROVIDER_NAME")
    @DTOAttribute
    protected String providerName;

    @Column(name = "DISPLAY_RUN_TIME")
    @DTOAttribute
    protected String displayRunTime;

    @Column(name = "RUN_TIME")
    @DTOAttribute
    protected String runTime;

    @Column(name = "STILL")
    @DTOAttribute
    protected String still;

    //////////////

    @Column(name = "WEEK_PV", length = 10)
    protected Integer weekPV;// 周点击量

    @Column(name = "ST_PV")
    protected Integer allPV = 0;// 点播量

    @Column(name = "ST_ORDER")
    protected Integer order = 0;// 单片订购量

    @Column(name = "ST_PLAY_PROGRESS")
    protected Integer playProgress = 0;// 收视完整度

    @Column(name = "ST_REFER_PLAY")
    protected Integer referPlay = 0;// 引流播放量

    @Column(name = "ST_REFER_ORDER")
    protected Integer referOrder = 0;// 引流订购量

    @Column(name = "HD_TYPE", length = 2)
    @DTOAttribute
    private Integer hdType;

    @Column(name = "ASSET_NAME", length = 64)
    @DTOAttribute(update = false)
    private String assetName;

    @Column(name = "SUGGESTED_PRICE")
    @DTOAttribute
    private Integer suggestedPrice; // 建议价格

    @Column(name = "PROMOTION_PRICE")
    @DTOAttribute
    private Integer promotionPrice; // 促销价格

    /**
     * @return the weekPVs
     */
    public String getWeekPVs() {
        return weekPVs;
    }

    /**
     * @return the picCount
     */
    public Integer getPicCount() {
        return picCount;
    }

    /**
     * @return the videoCount
     */
    public Integer getVideoCount() {
        return videoCount;
    }

    /**
     * @return the cspCode
     */
    public String getCspCode() {
        return cspCode;
    }

    /**
     * @return the lspCode
     */
    public String getLspCode() {
        return lspCode;
    }

    /**
     * @return the genre
     */
    public String getGenre() {
        return genre;
    }

    /**
     * @return the folders
     */
    public String getFolders() {
        return folders;
    }

    /**
     * @return the tags
     */
    public String getTags() {
        return tags;
    }

    /**
     * @return the collectId
     */
    public String getCollectId() {
        return collectId;
    }

    /**
     * @return the level
     */
    public String getLevel() {
        return level;
    }

    /**
     * @return the actors
     */
    public String getActors() {
        return actors;
    }

    /**
     * @return the directors
     */
    public String getDirectors() {
        return directors;
    }

    /**
     * @return the writers
     */
    public String getWriters() {
        return writers;
    }

    /**
     * @return the producers
     */
    public String getProducers() {
        return producers;
    }

    /**
     * @return the playDate
     */
    public Date getPlayDate() {
        return playDate;
    }

    /**
     * @return the language
     */
    public String getLanguage() {
        return language;
    }

    /**
     * @return the vodCaption
     */
    public String getVodCaption() {
        return vodCaption;
    }

    /**
     * @return the duration
     */
    public Integer getDuration() {
        return duration;
    }

    /**
     * @return the awards
     */
    public String getAwards() {
        return awards;
    }

    /**
     * @return the image
     */
    public String getImage() {
        return image;
    }

    /**
     * @param weekPVs the weekPVs to set
     */
    public void setWeekPVs(String weekPVs) {
        this.weekPVs = weekPVs;
    }

    /**
     * @param picCount the picCount to set
     */
    public void setPicCount(Integer picCount) {
        this.picCount = picCount;
    }

    /**
     * @param videoCount the videoCount to set
     */
    public void setVideoCount(Integer videoCount) {
        this.videoCount = videoCount;
    }

    /**
     * @param cspCode the cspCode to set
     */
    public void setCspCode(String cspCode) {
        this.cspCode = cspCode;
    }

    /**
     * @param lspCode the lspCode to set
     */
    public void setLspCode(String lspCode) {
        this.lspCode = lspCode;
    }

    /**
     * @param genre the genre to set
     */
    public void setGenre(String genre) {
        this.genre = genre;
    }

    /**
     * @param folders the folders to set
     */
    public void setFolders(String folders) {
        this.folders = folders;
    }

    /**
     * @param tags the tags to set
     */
    public void setTags(String tags) {
        this.tags = tags;
    }

    /**
     * @param collectId the collectId to set
     */
    public void setCollectId(String collectId) {
        this.collectId = collectId;
    }

    /**
     * @param level the level to set
     */
    public void setLevel(String level) {
        this.level = level;
    }

    /**
     * @param actors the actors to set
     */
    public void setActors(String actors) {
        this.actors = actors;
    }

    /**
     * @param directors the directors to set
     */
    public void setDirectors(String directors) {
        this.directors = directors;
    }

    /**
     * @param writers the writers to set
     */
    public void setWriters(String writers) {
        this.writers = writers;
    }

    /**
     * @param producers the producers to set
     */
    public void setProducers(String producers) {
        this.producers = producers;
    }

    /**
     * @param playDate the playDate to set
     */
    public void setPlayDate(Date playDate) {
        this.playDate = playDate;
    }

    /**
     * @param language the language to set
     */
    public void setLanguage(String language) {
        this.language = language;
    }

    /**
     * @param vodCaption the vodCaption to set
     */
    public void setVodCaption(String vodCaption) {
        this.vodCaption = vodCaption;
    }

    /**
     * @param duration the duration to set
     */
    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    /**
     * @param awards the awards to set
     */
    public void setAwards(String awards) {
        this.awards = awards;
    }

    /**
     * @param image the image to set
     */
    public void setImage(String image) {
        this.image = image;
    }

    /**
     * @return the comperes
     */
    public String getComperes() {
        return comperes;
    }

    /**
     * @return the playChannel
     */
    public String getPlayChannel() {
        return playChannel;
    }

    /**
     * @param comperes the comperes to set
     */
    public void setComperes(String comperes) {
        this.comperes = comperes;
    }

    /**
     * @param playChannel the playChannel to set
     */
    public void setPlayChannel(String playChannel) {
        this.playChannel = playChannel;
    }

    /**
     * @return the offeringId
     */
    public Long getOfferingId() {
        return offeringId;
    }

    /**
     * @param offeringId the offeringId to set
     */
    public void setOfferingId(Long offeringId) {
        this.offeringId = offeringId;
    }

    /**
     * @return the searchName
     */
    public String getSearchName() {
        return searchName;
    }

    /**
     * @param searchName the searchName to set
     */
    public void setSearchName(String searchName) {
        this.searchName = searchName;
    }

    /**
     * @return the titleType
     */
    public String getTitleType() {
        return titleType;
    }

    /**
     * @param titleType the titleType to set
     */
    public void setTitleType(String titleType) {
        this.titleType = titleType;
    }

    /**
     * @return the providerId
     */
    public Long getProviderId() {
        return providerId;
    }

    /**
     * @param providerId the providerId to set
     */
    public void setProviderId(Long providerId) {
        this.providerId = providerId;
    }

    /**
     * @return the opimg1
     */
    public String getOpimg1() {
        return opimg1;
    }

    /**
     * @param opimg1 the opimg1 to set
     */
    public void setOpimg1(String opimg1) {
        this.opimg1 = opimg1;
    }

    /**
     * @return the opimg2
     */
    public String getOpimg2() {
        return opimg2;
    }

    /**
     * @param opimg2 the opimg2 to set
     */
    public void setOpimg2(String opimg2) {
        this.opimg2 = opimg2;
    }

    /**
     * @return the providerName
     */
    public String getProviderName() {
        return providerName;
    }

    /**
     * @param providerName the providerName to set
     */
    public void setProviderName(String providerName) {
        this.providerName = providerName;
    }

    /**
     * @return the displayRunTime
     */
    public String getDisplayRunTime() {
        return displayRunTime;
    }

    /**
     * @param displayRunTime the displayRunTime to set
     */
    public void setDisplayRunTime(String displayRunTime) {
        this.displayRunTime = displayRunTime;
    }

    /**
     * @return the runTime
     */
    public String getRunTime() {
        return runTime;
    }

    /**
     * @param runTime the runTime to set
     */
    public void setRunTime(String runTime) {
        this.runTime = runTime;
    }

    /**
     * @return the still
     */
    public String getStill() {
        return still;
    }

    /**
     * @param still the still to set
     */
    public void setStill(String still) {
        this.still = still;
    }

    /**
     * @return the studio
     */
    public String getStudio() {
        return studio;
    }

    /**
     * @param studio the studio to set
     */
    public void setStudio(String studio) {
        this.studio = studio;
    }

    /**
     * @return the weekPV
     */
    public Integer getWeekPV() {
        return weekPV;
    }

    /**
     * @return the allPV
     */
    public Integer getAllPV() {
        return allPV;
    }

    /**
     * @return the order
     */
    public Integer getOrder() {
        return order;
    }

    /**
     * @return the playProgress
     */
    public Integer getPlayProgress() {
        return playProgress;
    }

    /**
     * @return the referPlay
     */
    public Integer getReferPlay() {
        return referPlay;
    }

    /**
     * @return the referOrder
     */
    public Integer getReferOrder() {
        return referOrder;
    }

    /**
     * @return the hdType
     */
    public Integer getHdType() {
        return hdType;
    }

    /**
     * @return the assetName
     */
    public String getAssetName() {
        return assetName;
    }

    /**
     * @return the suggestedPrice
     */
    public Integer getSuggestedPrice() {
        return suggestedPrice;
    }

    /**
     * @return the promotionPrice
     */
    public Integer getPromotionPrice() {
        return promotionPrice;
    }

    /**
     * @param weekPV the weekPV to set
     */
    public void setWeekPV(Integer weekPV) {
        this.weekPV = weekPV;
    }

    /**
     * @param allPV the allPV to set
     */
    public void setAllPV(Integer allPV) {
        this.allPV = allPV;
    }

    /**
     * @param order the order to set
     */
    public void setOrder(Integer order) {
        this.order = order;
    }

    /**
     * @param playProgress the playProgress to set
     */
    public void setPlayProgress(Integer playProgress) {
        this.playProgress = playProgress;
    }

    /**
     * @param referPlay the referPlay to set
     */
    public void setReferPlay(Integer referPlay) {
        this.referPlay = referPlay;
    }

    /**
     * @param referOrder the referOrder to set
     */
    public void setReferOrder(Integer referOrder) {
        this.referOrder = referOrder;
    }

    /**
     * @param hdType the hdType to set
     */
    public void setHdType(Integer hdType) {
        this.hdType = hdType;
    }

    /**
     * @param assetName the assetName to set
     */
    public void setAssetName(String assetName) {
        this.assetName = assetName;
    }

    /**
     * @param suggestedPrice the suggestedPrice to set
     */
    public void setSuggestedPrice(Integer suggestedPrice) {
        this.suggestedPrice = suggestedPrice;
    }

    /**
     * @param promotionPrice the promotionPrice to set
     */
    public void setPromotionPrice(Integer promotionPrice) {
        this.promotionPrice = promotionPrice;
    }

}
